1. Field of the Invention
The present invention relates to satellite positioning systems and, more particularly, to a method and apparatus for validating a position in a satellite positioning system using range-rate measurements.
2. Description of the Background Art
Satellite Positioning System (SPS) receivers use measurements from several satellites to compute position. SPS receivers normally determine their position by computing time delays between transmission and reception of signals transmitted from satellites and received by the receiver on or near the surface of the earth. The time delays multiplied by the speed of light provide the distance from the receiver to each of the satellites that are in view of the receiver. Exemplary satellite positioning systems include the Global Positioning System (GPS), the European GALILEO system, and the Russian GLONASS system.
In GPS, each signal available for commercial use utilizes a direct sequence spreading signal defined by a unique pseudo-random noise (PN) code (referred to as the coarse acquisition (C/A) code) having a 1.023 MHz spread rate. Each PN code bi-phase modulates a 1575.42 MHz carrier signal (referred to as the L1 carrier) and uniquely identifies a particular satellite. The PN code sequence length is 1023 chips, corresponding to a one millisecond time period. One cycle of 1023 chips is called a PN frame or epoch.
GPS receivers determine the time delays between transmission and reception of the signals by comparing time shifts between the received PN code signal sequence and internally generated PN signal sequences. These measured time delays are referred to as “sub-millisecond pseudoranges,” since they are known modulo the 1 millisecond PN frame boundaries. If the data bit edges are identified for a particular satellite, then the pseudorange is known modulo the data bit period, for example, 20 ms in the current GPS system. Different satellite navigation systems, and future changes in the GPS system may give different data bit periods. In general, if a pseudorange is known modulo N ms, then we refer to it as a “fractional pseudorange”. By resolving the integer number of milliseconds associated with each delay to each satellite, then one has true, unambiguous, pseudoranges. A set of four pseudoranges together with knowledge of absolute times of transmission of the GPS signals and satellite positions in relation to these absolute times is sufficient to solve for the position of the GPS receiver. The absolute times of transmission (or reception) are needed in order to determine the positions of the GPS satellites at the times of transmission and hence to compute the position of the GPS receiver.
Accordingly, each of the GPS satellites broadcasts a model of satellite orbit and clock data known as the satellite navigation message. The satellite navigation message is a 50 bit-per-second (bps) data stream that is modulo-2 added to the PN code with bit boundaries aligned with the beginning of a PN frame. There are exactly 20 PN frames per data bit period (20 milliseconds). The satellite navigation message includes satellite-positioning data, known as “ephemeris” data, which identifies the satellites and their orbits, as well as absolute time information (also referred to herein as “GPS system time”) associated with the satellite signal. The GPS system time information is in the form of a second of the week signal, referred to as time-of-week (TOW). This absolute time signal allows the receiver to unambiguously determine a time tag for when each received signal was transmitted by each satellite.
GPS satellites move at approximately 3.9 km/s, and thus the range of the satellite, observed from the earth, changes at a rate of at most ±800 m/s. Absolute timing errors result in range errors of up to 0.8 m for each millisecond of timing error. These range errors produce a similarly sized error in the GPS receiver position. Hence, absolute time accuracy of 10 ms is sufficient for position accuracy of approximately 10 m. Absolute timing errors of much more than 10 ms will result in large position errors, and so typical GPS receivers have required absolute time to approximately 10 milliseconds accuracy or better.
Another time parameter closely associated with GPS positioning is the sub-millisecond offset in the time reference used to measure the sub-millisecond pseudorange. This offset affects all the measurements equally, and for this reason it is known as the “common mode error”. The common mode error should not be confused with the absolute time error. As discussed above, an absolute time error of 1 millisecond leads to range errors of up to 0.8 meters while an absolute time error of 1 microsecond would cause an almost unobservable range error of less than 1 millimeter. A common mode error of 1 microsecond, however, results in a pseudorange error of 1 microsecond multiplied by the speed of light (i.e., 300 meters). Common mode errors have a large effect on pseudorange computations, and it is, in practice, very difficult to calibrate the common mode error. As such, traditional GPS receivers treat the common mode error as an unknown that must be solved for, along with position, once a sufficient number of pseudoranges have been measured at a particular receiver.
Traditionally, the process of resolving the integer portions of the pseudoranges (“integer ambiguity resolution”) has traditionally required an initial estimate of receiver position that is close enough to the true receiver position for the integers to be uniquely defined. Notably, an initial position within 150 km of the true position will enable unambiguous resolution of the integers. In some cases, the only choice for an initial position estimate at the receiver is the most recently computed position, which is stored in a position cache. For example, the receiver may be unable to communicate with any external source capable of providing a position estimate (e.g., a cellular telephone network). However, if the receiver has traveled more than 150 kilometers from the last computed position, than the pseudorange integers will not be reliably resolved. If a position is computed using pseudoranges having incorrect integers, the position will be invalid.
Accordingly, there exists a need in the art for a method and apparatus for validating a position in a satellite position system.